using System;

namespace WegasManagementSystem.Models
{
    /// <summary>
    /// 考勤信息实体类
    /// </summary>
    public class AttendanceInfo
    {
        /// <summary>
        /// 考勤ID
        /// </summary>
        public int AttendanceId { get; set; }

        /// <summary>
        /// 员工ID
        /// </summary>
        public int EmpId { get; set; }

        /// <summary>
        /// 员工姓名（非数据库字段）
        /// </summary>
        public string EmpName { get; set; }

        /// <summary>
        /// 部门ID
        /// </summary>
        public int DeptId { get; set; }

        /// <summary>
        /// 部门名称（非数据库字段）
        /// </summary>
        public string DeptName { get; set; }

        /// <summary>
        /// 年份
        /// </summary>
        public int Year { get; set; }

        /// <summary>
        /// 月份
        /// </summary>
        public int Month { get; set; }

        /// <summary>
        /// 应出勤天数
        /// </summary>
        public decimal WorkDays { get; set; }

        /// <summary>
        /// 实际出勤天数
        /// </summary>
        public decimal ActualWorkDays { get; set; }

        /// <summary>
        /// 缺勤天数
        /// </summary>
        public decimal AbsenceDays { get; set; }

        /// <summary>
        /// 加班小时数
        /// </summary>
        public decimal OvertimeHours { get; set; }

        /// <summary>
        /// 迟到次数
        /// </summary>
        public int LateCount { get; set; }

        /// <summary>
        /// 早退次数
        /// </summary>
        public int EarlyLeaveCount { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreatedTime { get; set; }

        /// <summary>
        /// 更新时间
        /// </summary>
        public DateTime UpdatedTime { get; set; }

        /// <summary>
        /// 默认构造函数
        /// </summary>
        public AttendanceInfo()
        {
            WorkDays = 21.75m; // 默认月工作日为21.75天
            CreatedTime = DateTime.Now;
            UpdatedTime = DateTime.Now;
        }
    }
} 